package com.whh.permission.dao;

import com.whh.permission.po.User;
import com.whh.permission.po.UserRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface IUserDao {
    /**
     * 查询所有用户信息
     */
    List<User> queryUserAll(User user);

    /**
     * 根据id查用户
     */
    User queryUserById(Integer id);

    /**
     * 根据用户名密码查询
     */
    User queryUserByNameAndPwd(@Param("username") String username,@Param("password") String password);

    /**
     * 修改信息
     */
    void updateUserSubmit(User user);

    /**
     * 用户添加
     */
    void addUser(User user);

    /**
     *角色关联关系添加
     */
    void addUserRole(List<UserRole> list);

    /**
     * 用户删除
     */
    void deleteUserByIds(List<Integer> ids);

    /**
     * 关联角色删除
     */
    void deleteUserRoleByUserIds(List<Integer> ids);

    /**
     * 根据用户的id查询用户权限和url标识
     */
    List<User> findUrlAndPermByUserId(Integer id);

    /**
     * 根据用户名查询用户信息
     */
    User  queryUserByUserName(@Param("username") String username);
}
